home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / Buch / Movie2a.cpp < prev    next >
C/C++ Source or Header  |  1999-01-08  |  4KB  |  119 lines

  1. //---------------------------------------------------------------------------
  2. #include <vcl\vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Movie2a.h"
  6. //---------------------------------------------------------------------------
  7. static inline TMovie *ValidCtrCheck()
  8. {
  9.     return new TMovie(NULL);
  10. }
  11. //---------------------------------------------------------------------------
  12. __fastcall TMovie::TMovie(TComponent* Owner)
  13.     : TImage(Owner)
  14. {
  15.   randomize();
  16.   Bremse = 5000000;
  17.   // probier aus, welcher Wert bei Dir am besten pa▀t!
  18. }
  19. //---------------------------------------------------------------------------
  20. namespace Movie2a
  21. {
  22.     void __fastcall Register()
  23.     {
  24.         TComponentClass classes[1] = {__classid(TMovie)};
  25.         RegisterComponents("ZusΣtzlich", classes, 0);
  26.     }
  27. }
  28. //---------------------------------------------------------------------------
  29. void __fastcall TMovie::SetSize (TRect Rechteck)
  30. {
  31.   Left   =  Rechteck.Left;
  32.   Top    =  Rechteck.Top;
  33.   Width  =  Rechteck.Right  - Rechteck.Left;
  34.   Height =  Rechteck.Bottom - Rechteck.Top;
  35. }
  36. //---------------------------------------------------------------------------
  37. void __fastcall TMovie::ShowImage (String Datei)
  38. {
  39.   Show ();
  40.   Picture->LoadFromFile (Datei);
  41.   Bild = Datei;
  42. }
  43. //---------------------------------------------------------------------------
  44. void __fastcall TMovie::HideImage (void)
  45. {
  46.   Hide ();
  47. }
  48. //---------------------------------------------------------------------------
  49. void __fastcall TMovie::GetNr (String Datei, int x)
  50. {
  51.   Pfad = Datei.SubString(1,Datei.Length()-5);
  52.   try
  53.   {Nr = StrToInt(Datei.SubString(Datei.Length()-4,1));}
  54.   catch (...)
  55.   {Nr = -1;}
  56.   if (Nr > x) Nr = 1;
  57. }
  58. //---------------------------------------------------------------------------
  59. void __fastcall TMovie::GetImage (String Datei)
  60. {
  61.   Picture->LoadFromFile (Datei);
  62.   for (int j=0; j<Bremse; j++) ;
  63.   Refresh ();
  64. }
  65. //---------------------------------------------------------------------------
  66. bool __fastcall TMovie::MoveImage (String Datei)
  67. {
  68.   // Nummer des aktuellen Bildes ermitteln
  69.   GetNr (Datei, 4);
  70.   // Wenn keine Nummer gefunden, Ende
  71.   if (Nr == -1) return false;
  72.   // Nacheinander Bild und Gegenstⁿck laden und zeigen
  73.   Show ();
  74.   for (int i=0; i<5; i++)
  75.   {
  76.     GetImage (Datei);
  77.     GetImage (Pfad + IntToStr(Nr+4) + ".bmp");
  78.   }
  79.   // ggf. Anfangsbild wieder zeigen
  80.   if (Bild != "") GetImage (Bild);
  81.   // alles ok
  82.   return true;
  83. }
  84. //---------------------------------------------------------------------------
  85. bool __fastcall TMovie::TurnImage (String Datei)
  86. {
  87.   // Nummer des aktuellen Bildes ermitteln
  88.   GetNr (Datei, 5);
  89.   // Wenn keine Nummer gefunden, Ende
  90.   if (Nr == -1) return false;
  91.   // Aufeinanderfolge Bilder laden und zeigen
  92.   Show ();
  93.   for (int i=Nr; i<Nr+4; i++)
  94.     GetImage (Pfad + IntToStr(i) + ".bmp");
  95.   // ggf. Anfangsbild wieder zeigen
  96.   if (Bild != "") GetImage (Bild);
  97.   // alles ok
  98.   return true;
  99. }
  100. //---------------------------------------------------------------------------
  101. bool __fastcall TMovie::TwistImage (String Datei)
  102. {
  103.   // Nummer des aktuellen Bildes ermitteln
  104.   GetNr (Datei, 8);
  105.   // Wenn keine Nummer gefunden, Ende
  106.   if (Nr == -1) return false;
  107.   // Bilder in zufΣlliger Reihenfolge laden und zeigen
  108.   Show ();
  109.   for (int i=0; i<20; i++)
  110.     // verwendet auch Hops0.bmp und Hops9.bmp
  111.     GetImage (Pfad + IntToStr(random(10)) + ".bmp");
  112.   // ggf. Anfangsbild wieder zeigen
  113.   if (Bild != "") GetImage (Bild);
  114.   // alles ok
  115.   return true;
  116. }
  117. //---------------------------------------------------------------------------
  118.  
  119.